package br.uff.es1.dao;

import br.uff.es1.Cliente;
import java.util.ArrayList;

public class ClienteDAO {
    private ArrayList<Cliente> clientes;

    public ClienteDAO() {
        this.clientes = new ArrayList();
        this.clientes.add(new Cliente("111", "Romulo", "Rua a", "11111"));
        this.clientes.add(new Cliente("112", "Gisele", "Rua b", "22323"));
    }
    
    public boolean inserir(String nome, String cpf, String endereco, String telefone){
        Cliente c = new Cliente(cpf, nome, endereco, telefone);
        if(c == null){
            return false;
        }else{
            this.clientes.add(c);
            return true;
        }
    }
    
    public ArrayList<Cliente> obterTodos(){
        return clientes;
    }
    
    public boolean remover(String nome){
        int idCliente = this.pegarIdCliente(nome);
        if(this.pegarIdCliente(nome) == -1){
            return false;
        }else{
            this.clientes.remove(idCliente);
            return true;
        }
    }
    
    public int pegarIdCliente(String nome){
        for (int i = 0; i < clientes.size(); i++) {
            if(this.clientes.get(i).getNome().equalsIgnoreCase(nome)){
                return i;
            }
        }
        return -1;
    }
    
    public Cliente buscar(String nome){
        for (int i = 0; i < clientes.size(); i++) {
            if(this.clientes.get(i).getNome().matches(nome)){
                return this.clientes.get(i);
            }
        }
        return null;
    }
    
    public Cliente buscarPorCPF(String cpf){
        for (int i = 0; i < clientes.size(); i++) {
            if(this.clientes.get(i).getCpf().equals(cpf)){
                return this.clientes.get(i);
            }
        }
        return null;
    }    
    
}
